草庐IT

TypeScript 对象

全部标签

javascript - 在新路由器上使用订阅功能时出现 Angular 2 typescript 错误 (rc 1)

我正在尝试使用新路由器为我的Angular2应用程序设置身份验证。有人建议尝试以下操作:constructor(private_router:Router){}ngOnInit(){this._router.subscribe(next=>{if(!userIsLoggedInOrWhatever){this._router.navigate(['Login']);}})}然而,这个问题是这会导致typescript错误(app.component.ts(47,22):errorTS2339:Property'subscribe'doesnotexistontype'Router'.这

javascript - 对象解构分配的任何方面都是通过引用进行的吗?

我有一个程序可以增加对sessioncookie的请求并将它们打印到控制台。最初,我试图弄清楚如何保存这些数据。登录几个地方后,我意识到尽管我有一个单独的变量来保存我认为是req成员对象的临时版本,但数据仍在保存/更改。这段代码让我意识到,当我递增分配给它的变量时,实际对象正在发生变化:recordRequest(req){const{ip}=req.info;const{requestsPerSecond}=req.session;if(req.originalUrl.split('/').filter(Boolean)[0]=='www.example.com'){requests

javascript - 从 Purescript Record 转换为 JS 对象

我正在尝试将Record转换为vanillaJS对象moduleMyModulewheredataAuthor=Author{name::String,interests::ArrayString}phil::Authorphil=Author{name:"Phil",interests:["FunctionalProgramming","JavaScript"]}当我从JS访问对象时MyModule.phil它包含我不感兴趣的其他属性(value0){"value0":{"name":"Phil","interests":["FunctionalProgramming","JavaS

JavaScript 到 TypeScript : Intellisense and dynamic members

我有一个JavaScript对象,它动态地允许成员作为访问器属性绑定(bind)到对象的实例:来源functionDynamicObject(obj){for(varpropinobj){Object.defineProperty(this,prop,{get:function(){returnobj[prop];},set:function(value){obj[prop]=value;},enumerable:true,configurable:false});}}用法varobj=newDynamicObject({name:"JohnSmith",email:"john.smi

javascript - lodash:组合对象数组

在lodash中,我想将对象数组转换为包含每个属性数组的单个对象。我有一个对象数组:varstudents=[{name:'A',idNo:1,marks:{math:98,sci:97,eng:89}},{name:'B',idNo:2,marks:{math:88,sci:87,eng:79}},{name:'C',idNo:3,marks:{math:87,sci:98,eng:91}}]我想像这样组合/reshape它们:{name:[A,B,C],idNo:[1,2,3],marks:[{math:98,sci:97,eng:89},{math:88,sci:87,eng:7

javascript - 如何遍历对象原型(prototype)链中的所有属性?

我有一个es6类实例,我需要获取它的所有属性(以及继承的属性)。有没有办法不用遍历原型(prototype)链就可以做到这一点?classA{geta(){return123;}}classBextendsA{getb(){return456;}}constb=newB();for(letpropinb){console.log(prop);//nothing}console.log(Object.keys(b));//emptyarrayconsole.log(Object.getOwnPropertyNames(b));//emptyarrayconsole.log(Reflect

javascript - 枚举的 typescript 类型别名

我的打字文件中有这个:declarenamespaceSomatic{enumPropType{html,object,css}}在另一个文件index.ts中,我为这个枚举设置了一个更短的别名:typePropType=Somatic.PropType;然后我想在switch语句中使用带别名的枚举类型:switch(propType){casePropType.html:break;...}但是Typescript无法识别带别名的枚举类型值。这里有什么问题? 最佳答案 您应该使用import关键字而不是type:importPro

javascript - 如何在动态加载的 Typescript 中扩展类

我通过npminstall@types/googlemaps将googlemapsJSAPI与google.maps命名空间一起使用。我相信API是动态加载的,因此google.mapsJS全局不能立即可用。但我不明白为什么我会收到运行时错误:UncaughtReferenceError:googleisnotdefined当我尝试使用扩展google.maps.Marker时code>class但不是interface//Noproblem!exportinterfaceUuidMarkerextendsgoogle.maps.Marker{uuid:string;}//Uncaug

javascript - 获取在参数中被解构的对象

这个问题在这里已经有了答案:ES6destructuringfunctionparameter-namingrootobject(5个答案)关闭6年前。假设我有一个函数将解构对象作为箭头函数中的参数:constmyFunc=({a,b,c})=>{};有没有什么语法可以让我把整个对象作为一个值来获取?因为箭头函数不绑定(bind)arguments,所以我不能使用它。是否可以给它命名,类似于:constmyFunc=(allArgs:{a,b,c})=>{console.log(allArgs);};myFunc({a:1,b:2,c:3});//Output:{a:0,b:1,c:2

javascript - 我可以创建一个 Array.isArray() 返回 true 的对象而不使用 Array 构造函数或数组文字吗?

通过将其原型(prototype)设置为Array.prototype,我可以轻松地使一个普通对象看起来像一个数组:constobj={};Reflect.setPrototypeOf(obj,Array.prototype);(我知道神奇的length属性和稀疏数组也存在一些问题,但这不是这个问题的重点。)我想让Array.isArray(obj)返回true(当然不修改Array.isArray()方法)。MDNpolyfillforArray.isArray()如下:if(!Array.isArray){Array.isArray=function(arg){returnObje